﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using EzDesk.Client.Utility;
using System.Windows.Threading;
using EzDesk.DesktopClient.ServiceLocator.ClientService;
using EzDesk.Generic;
using EzDesk.Generic;
using EzDesk.DesktopClient.Model;
using EzDesk.DesktopClient;
using System.Threading;
using EzDesk.DesktopClient.Event;
using EzDesk.EventAggregation;

using EzDesk.Generic.Collections;

namespace EzDesk.DesktopClient
{
    /// <summary>
    /// @Refactory 
    /// This class should be split into 2 classes.
    /// </summary>
    public class ClientConfigurationManagement : ManagementBase<ClientConfigurationManagement>
    {
        public const int NotificationDisplayCount = 3;
        public const int UpdateDisplayCount = 10;
        private Dictionary<string, object> _settingsDic = new Dictionary<string, object>();

        public  ClientConfigurationManagement()
        {
            _settingsDic["NotificationDisplayCount"] = NotificationDisplayCount;
            _settingsDic["UpdateDisplayCount"] = UpdateDisplayCount;
           
        }

        public object this[string index]
        {
            get { return _settingsDic[index]; }
            set { _settingsDic[index] = value; }
        }

        public T GetSetting<T>(string settingKey)
        {
            return (T)_settingsDic[settingKey];
        }       
    }
}

